package com.haolp.sys.dao;

import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import java.util.List;

/**
 * @author 小李
 * @version 1.0
 * @date 2021/10/11 17:10
 */
public interface SysUserRoleDao {

    /**
     * 基于用户id删除用户与角色关系数据
      * @param userId
     * @return
     */
    @Delete("delete from sys_user_roles where user_id=#{userId}")
    int deleteObjectsByUserId(Integer userId);
    /**
     * 基于用户id查询对应的角色信息
     * @param id
     * @return
     */
    @Select("select role_id from sys_user_roles")
    List<Integer> findRoleIdsByUserId(Integer id);
    /**
     * 负责将用户与角色的关系数据写入到数据库
     * @param userId
     * @param roleIds
     * @return
     */
    int insertObjects(
            @Param("userId") Integer userId,
            @Param("roleIds") Integer[] roleIds);
    @Delete("delete from sys_user_roles where role_id=#{roleId}")
    int deleteObjectsByRoleId(Integer roleId);

}
